<?php 

/**
 * 登录注册控制器
 * @author 阿柱 <422852954@qq.com>
 */
class LoginController extends Controller{
	private $model;
	public function __init(){
		parent::__init();
		$this->model=K('User');
	}
    /**
     *   登录方法
     */
    public function login(){
    	if(IS_POST){
			if(!$this->model->create())  $this->error($this->model->error);
    		$username=Q('post.username');
			$password=Q('post.password','','md5');
    		$data=$this->model->where("username='{$username}'")->find();
			if(!$data)  $this->error('用户名不存在');
			if($data['password']!=$password)  $this->error('密码不正确');
//			设置cookie7天
			if(Q('post.auto'))   setcookie(session_name(),session_id(),time()+60*60*24*7,'/');
//			存入session
			session('uid',$data['uid']);
			session('uname',$username);
			$this->success('登录成功','',1);
    	}
    }
	/**
	 * 注册方法
	 */
	public function register(){
		if(IS_POST){
//			自动验证
			if(!$this->model->create())  $this->error($this->model->error);
			$username=Q('post.username_reg');
			$data=$this->model->where("username='{$username}'")->find();
			if($data)  $this->error('用户名已存在');
			if(strtoupper(session('code'))!=strtoupper(Q('post.code')))   $this->error('验证码不正确');
//			执行添加
			$this->model->addUser();
			
			$this->success('注册成功',U('Index/index'),1);
		}
//      分配顶级分类
		$topCate=K('Category')->where("pid=0")->all();
		$this->assign('topCate',$topCate);
//		分配购物车总数量
		$this->assign('totalNum',Cart::getTotalNums());
		$this->display();
	}
	/**
	 * 退出方法
	 */
	public function out(){
		session(NULL);
		$this->success('退出成功',U('Index/index'),1);
	}
	/**
	 * 验证码
	 */
	public function code(){
		$code=new Code('','','','',1);
		$code->show();
	} 
	 /**
	  *登录异步检测用户名
	  */
	public function ajaxCheckLoginUser(){
	    if(!IS_AJAX)  return;
		$user=Q('post.username');
		$data=$this->model->where("username='{$user}'")->find();
		if($data){
			$msg=array('status'=>true,'message'=>'验证通过');
//			把值存入session方便异步检测密码是否正确
			session('uname',$data['username']);
		}else{
			$msg=array('status'=>false,'message'=>'用户名不存在');
		}
		$this->ajax($msg);
	}
	public function ajaxCheckLoginPwd(){
	    if(!IS_AJAX)  return;
		$pwd=Q('post.password','','md5');
		$user=session('uname');
		$data=$this->model->where("username='{$user}'")->find();
		if($data['password']!=$pwd){
			$msg=array('status'=>false,'message'=>'密码不正确');
		}else{
			$msg=array('status'=>true,'message'=>'密码正确');
		}
		$this->ajax($msg);
	}
	/**
	*注册异步检测用户名
	*/
	public function ajaxCheckUser(){
//		如果不是ajax请求,就不走下面了，为了更安全
		if(!IS_AJAX)  return;
	    $user=Q('post.username_reg');
		$data=$this->model->where("username='{$user}'")->find();
		if($data){
			$msg=array('status'=>false,'message'=>'用户名已存在');
		}else{
			$msg=array('status'=>true,'message'=>'验证通过');
		}
//		最后输出为jason_encode
		$this->ajax($msg);
	}
	/**
	 * 异步检测验证码
	 */
	public function ajaxCheckCode(){
		if(!IS_AJAX)   return;
		$code=Q('post.code');
		if(strtoupper($code)!=strtoupper(session('code'))){
			$msg=array('status'=>false,'message'=>'验证码不正确');
		}else{
			$msg=array('status'=>true,'message'=>'验证通过');
		}
		$this->ajax($msg);
	}
	public function qqlogin(){
		$qc=new QC();
		$qc->qq_login();
	}
}
 


 
 






 ?>